<?php
// 定义一个简单的类
class Person {
    // 属性
    public $name;
    protected $age;
    private $idCard;
    
    // 构造函数
    public function __construct($name, $age, $idCard) {
        $this->name = $name;
        $this->age = $age;
        $this->idCard = $idCard;
    }
    
    // 方法
    public function sayHello() {
        return "你好，我是{$this->name}，今年{$this->age}岁。";
    }
    
    // Getter方法
    public function getAge() {
        return $this->age;
    }
    
    // Setter方法
    public function setAge($age) {
        if ($age > 0 && $age < 120) {
            $this->age = $age;
        }
    }
    
    // 私有方法
    private function getIdCardLastFour() {
        return substr($this->idCard, -4);
    }
    
    // 使用私有方法的公共方法
    public function getIdCardInfo() {
        return "身份证后四位：" . $this->getIdCardLastFour();
    }
}

// 创建对象
$person = new Person("张三", 25, "123456789012345678");
echo $person->sayHello() . "\n";

// 访问公共属性
echo "姓名：" . $person->name . "\n";

// 使用Getter方法访问受保护的属性
echo "年龄：" . $person->getAge() . "\n";

// 使用Setter方法修改受保护的属性
$person->setAge(26);
echo "修改后的年龄：" . $person->getAge() . "\n";

// 访问处理私有属性的方法
echo $person->getIdCardInfo() . "\n";
?>